package com.cgt.SF;

import org.junit.Test;

public class Demo1 {

	@Test
	public void test(){
		int[] arr  = new int[]{5, 2, 3, 1, 4};
		int n = arr.length;
		System.out.println(n);
		for (int i = 0; i < n - 1; i++) { // 外层循环控制轮次
			System.out.println("外层:" + i);
			for (int j = 0; j < n - i - 1; j++) { // 内层循环比较相邻元素
				System.out.println("内层:" + j);
				if (arr[j] > arr[j + 1]) {
					// 交换相邻元素
					int temp = arr[j];
					arr[j] = arr[j + 1];
					arr[j + 1] = temp;

					for (int i1 : arr) {
						System.out.print(i1);
					}
					System.out.println();
				}
			}
		}
	}

	@Test
	public void test2(){
		int[] arr  = new int[]{5, 2, 3, 1, 4};
		int n = arr.length;
		for (int i = 0; i < n - 1; i++) { // 外层循环控制轮次
			int minIndex = i; // 假设当前值为最小值
			for (int j = i + 1; j < n; j++) { // 内层循环查找最小值
				if (arr[j] < arr[minIndex]) {
					minIndex = j; // 更新最小值的索引
				}
			}
			// 将最小值交换到当前位置
			int temp = arr[minIndex];
			arr[minIndex] = arr[i];
			arr[i] = temp;
		}
	}

}
